export default {
  /**
   * 1.获取用户积分,客户端打开程序时调用
   * 若服务端无用户openid信息则初始化用户相关信息
   * 请求方法：GET
   * @param openid 请求参数，用户openid，参数类型：String
   * 返回userScore:积分数
   * @param callback
   */
  getUserScore(openid, callback) {

  },

  /**
   * 2.更新用户昵称和头像URL
   * 请求方法：POST
   * @userInfo 请求参数，参数类型：Obeject,包括以下三个字段
   * openid 用户openid
   * nickName 用户昵称
   * avatarUrl 用户头像URL
   * 返回：随便
   * @param callback
   */
  updataUserInfo(userInfo, callback) {

  },

  /**
   * 3.获取关卡信息
   * 请求方法：GET
   * 请求参数：
   * @param barrierInfo 关卡信息，类型：Object，包括以下两个字段
   * subject，科目
   * grade，年级
   * @param openid 用户openid,类型：String
   * 返回关卡总数totalBarrier和用户当前闯达关卡数currentBarrier
   * @param setBarrier
   */
  getBarrier(barrierInfo, openid, setBarrier) {

  },
  
  /** 4.获取指定关卡的题目信息
 * 请求方法：GET
 * @param data请求数据，类型Object，包括以下三个字段
 * {
 *     subject:科目
 *     grade：年级
 *     barrierLevel:关卡号
 * }
 * 返回一个数组，每个元素包括以下7个字段
 * {ID,题干，选项ABCD，答案}
 */
  getQuestion(subject, grade, barrierLevel) {

  },

  /**
   * 5.增加答题结果，更新用户积分和关卡
   * 请求方法：POST
   * @param openid
   * @param subject
   * @param grade
   * @param answerResult，类型：Array,每个元素包括以下2个字段
   * {
   *    questionId,
   *    result,类型int:0 or 1
   * }
   * 返回barrierLevel:更新后的关卡号,若全对则解锁关卡，
   * 若达到总关卡，即通过所有关卡，则不解锁返回当前关卡
   */
  putResult (openid, subject, grade, answerResult) {
  }

  /**
   * 6.获取积分前十用户信息和指定用户排名
   * 请求方法：GET
   * @param openid
   * 返回ranking，参数openid对应的排名数
   * userInfoArray,若用户数<=10则返回所有用户信息，
   * 数组中每个元素至少包括：头像URL、昵称、积分，
   * 数组按积分从大到小排序
   */
  getRankInfo (openid) {

  }

}